package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 包材
 * </p>
 *
 * @author long
 * @since 2024-12-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_material")
public class MaterialDo extends Model<MaterialDo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField(value = "tenant_id", fill = FieldFill.INSERT)
    private Long tenantId;

    @TableField(value = "wh_id", fill = FieldFill.INSERT)
    private Long whId;

    /**
     * 包材编码
     */
    @ApiModelProperty("包材编码")
    @TableField("material_code")
    private String materialCode;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    @TableField("material_name")
    private String materialName;

    /**
     * 销售价
     */
    @ApiModelProperty("销售价")
    @TableField("sale_price")
    private BigDecimal salePrice;

    /**
     * 成本价
     */
    @ApiModelProperty("成本价")
    @TableField("cost_price")
    private BigDecimal costPrice;

    /**
     * 货币代码
     */
    @ApiModelProperty("货币代码")
    @TableField("currency_code")
    private String currencyCode;

    /**
     * 高 公制
     */
    @TableField("height")
    private BigDecimal height;

    /**
     * 高 英制
     */
    @TableField("height_bs")
    private BigDecimal heightBs;

    /**
     * 长 公制
     */
    @TableField("length")
    private BigDecimal length;

    /**
     * 长 英制
     */
    @TableField("length_bs")
    private BigDecimal lengthBs;

    /**
     * 宽 公制
     */
    @TableField("width")
    private BigDecimal width;

    /**
     * 宽 英制
     */
    @TableField("width_bs")
    private BigDecimal widthBs;

    /**
     * 重量 公制
     */
    @TableField("weight")
    private BigDecimal weight;

    /**
     * 重量 英制
     */
    @TableField("weight_bs")
    private BigDecimal weightBs;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 最后修改人
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 最后修改人名
     */
    @TableField(value = "update_by_name", fill = FieldFill.INSERT_UPDATE)
    private String updateByName;

    /**
     * 最后修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
